VBA-তে Workbooks, Worksheets, এবং Ranges নিয়ে কাজ
VBA (Visual Basic for Applications)-এ Workbooks, Worksheets, এবং Ranges হলো সবচেয়ে মৌলিক এবং গুরুত্বপূর্ণ অবজেক্ট যা এক্সেল ডকুমেন্টের বিভিন্ন অংশের সাথে কাজ করার জন্য ব্যবহৃত হয়। প্রতিটি অবজেক্টের নিজস্ব বৈশিষ্ট্য ও মেথড রয়েছে যা এক্সেল ফাইলের সাথে ইন্টারঅ্যাক্ট করতে সহায়ক। এখানে, আমরা Workbooks, Worksheets, এবং Ranges নিয়ে কাজ করার প্রাথমিক ধারণা এবং কিছু উদাহরণ দেখবো।
১. Workbooks (ওয়ার্কবুকস)
Workbooks হলো এক্সেল ফাইলের মূল অবজেক্ট। এক্সেল ফাইলের মধ্যে একাধিক ওয়ার্কশীট থাকতে পারে এবং প্রতিটি এক্সেল ফাইল একটি Workbook হিসেবে পরিচিত। VBA-তে, আপনি Workbooks অবজেক্ট ব্যবহার করে এক্সেল ফাইলের সাথে কাজ করতে পারবেন, যেমন এক্সেল ফাইল খোলা, বন্ধ করা, সেভ করা ইত্যাদি।
Workbooks এর সাথে কাজ করা:
ওয়ার্কবুক খোলা:
Dim wb As Workbook Set wb = Workbooks.Open("C:\Users\Username\Documents\YourFile.xlsx")এখানে,
Workbooks.Openমেথড দিয়ে নির্দিষ্ট পাথের এক্সেল ফাইলটি খুলতে পারবেন।নতুন ওয়ার্কবুক তৈরি:
Dim wb As Workbook Set wb = Workbooks.Add ' একটি নতুন ওয়ার্কবুক তৈরি হবেওয়ার্কবুক বন্ধ করা:
wb.Close SaveChanges:=True ' ফাইলটি সেভ করে বন্ধ হবেবর্তমান সক্রিয় ওয়ার্কবুক এক্সেস করা:
Dim wb As Workbook Set wb = ThisWorkbook ' যেটি কোড চালাচ্ছে তার ওয়ার্কবুকএখানে
ThisWorkbookব্যবহার করে আপনি বর্তমানে ওপেন থাকা ওয়ার্কবুককে রেফারেন্স করতে পারবেন।
২. Worksheets (ওয়ার্কশীটস)
Worksheets হল ওয়ার্কবুকের মধ্যে থাকা প্রতিটি পৃথক শীট, যা আপনি এক্সেলে দেখতে পান (যেমন: Sheet1, Sheet2 ইত্যাদি)। VBA-তে, আপনি Worksheets অবজেক্ট ব্যবহার করে শীটের সাথে কাজ করতে পারবেন, যেমন শীট অ্যাক্সেস করা, নতুন শীট তৈরি করা, বা শীট থেকে ডেটা পড়া বা লেখার কাজ করা।
Worksheets এর সাথে কাজ করা:
নির্দিষ্ট শীট অ্যাক্সেস করা:
Dim ws As Worksheet Set ws = Worksheets("Sheet1") ' Sheet1 নামের শীটটি নির্বাচন করাশীট সক্রিয় করা:
Worksheets("Sheet1").Activate ' Sheet1 সক্রিয় করানতুন শীট তৈরি করা:
Dim ws As Worksheet Set ws = Worksheets.Add ' নতুন শীট তৈরি ws.Name = "NewSheet" ' নতুন শীটটির নাম দেয়াশীট সরানো:
Worksheets("Sheet1").Delete ' Sheet1 শীটটি মুছে ফেলাবর্তমান শীট রেফারেন্স করা:
Dim ws As Worksheet Set ws = ActiveSheet ' বর্তমানে সক্রিয় শীটকে রেফারেন্স করা
৩. Ranges (রেঞ্জেস)
Ranges হল এক্সেল শীটে একটি নির্দিষ্ট সেল বা সেল গ্রুপ। আপনি Range অবজেক্ট ব্যবহার করে নির্দিষ্ট সেল বা সেল রেঞ্জের মান পড়তে, সেট করতে বা ফরম্যাট করতে পারবেন।
Ranges এর সাথে কাজ করা:
একটি নির্দিষ্ট সেলের মান পড়া:
Dim cellValue As Variant cellValue = Worksheets("Sheet1").Range("A1").Value ' A1 সেল থেকে মান পড়াএকটি নির্দিষ্ট সেলে মান লেখা:
Worksheets("Sheet1").Range("A1").Value = "Hello World" ' A1 সেলে মান লেখাএকটি রেঞ্জে মান লেখা:
Worksheets("Sheet1").Range("A1:B2").Value = 100 ' A1 থেকে B2 পর্যন্ত সেলে ১০০ লেখাসেল বা রেঞ্জ ফরম্যাট করা:
Worksheets("Sheet1").Range("A1").Font.Bold = True ' A1 সেলের ফন্ট বোল্ড করা Worksheets("Sheet1").Range("A1").Interior.Color = RGB(255, 255, 0) ' A1 সেলের পটভূমি রঙ পরিবর্তন করারেঞ্জ সিলেক্ট করা:
Worksheets("Sheet1").Range("A1:B2").Select ' A1 থেকে B2 পর্যন্ত রেঞ্জ সিলেক্ট করাRange কলামের আকার পরিবর্তন করা:
Worksheets("Sheet1").Range("A1:A10").ColumnWidth = 20 ' A1 থেকে A10 কলামের আকার পরিবর্তন করাMultiple Ranges একসাথে অ্যাক্সেস করা:
Dim combinedRange As Range Set combinedRange = Union(Worksheets("Sheet1").Range("A1:B2"), Worksheets("Sheet1").Range("C3:D4"))
অতিরিক্ত: Range সেল ব্যবহার সম্পর্কিত আরও কিছু কার্যকারিতা
বর্তমান সেল রেফারেন্স করা:
Dim currentCell As Range Set currentCell = ActiveCell ' বর্তমানে সিলেক্টেড সেলEntire Column or Row রেফারেন্স করা:
Worksheets("Sheet1").Columns("A").AutoFit ' কলাম A এর আকার স্বয়ংক্রিয়ভাবে ফিট করা Worksheets("Sheet1").Rows(1).Font.Underline = True ' প্রথম সারির ফন্ট আন্ডারলাইন করাRange ইনপুট ভ্যালিডেশন (Data Validation):
With Worksheets("Sheet1").Range("A1").Validation .Delete .Add Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, Formula1:="1", Formula2:="100" .IgnoreBlank = True .InCellDropdown = True .ShowInput = True .ShowError = True End With
উপসংহার
- Workbooks: এক্সেল ফাইলের সাথে কাজ করার জন্য ব্যবহৃত হয় (ফাইল খোলা, বন্ধ করা, সেভ করা)।
- Worksheets: এক্সেল ফাইলের শীটের সাথে কাজ করার জন্য ব্যবহৃত হয় (শীট অ্যাক্সেস করা, তৈরি করা, নাম পরিবর্তন করা)।
- Ranges: নির্দিষ্ট সেল বা সেল গ্রুপের মান পড়া বা লেখা, ফরম্যাটিং এবং অন্যান্য ক্রিয়াকলাপের জন্য ব্যবহৃত হয়।
এগুলি একসাথে ব্যবহার করে আপনি VBA-তে এক্সেল ফাইলের উপর পূর্ণ নিয়ন্ত্রণ রাখতে পারবেন এবং আপনার কাজকে আরো কার্যকরী ও সাশ্রয়ী করে তুলতে পারবেন।
Read more